package design.mode.proxy.staticProxy;

/**
 * 静态代理模式演示
 * <br/>
 * <br/>
 * 缺点：静态代理的重用性不强，比如此示例想再增加一个其他动物（如Dog）对象，又需要重新为其他动物（如Dog）创建一个代理对象
 */
public class Main {

    public static void main(String[] args) {
        // 被代理的类Cat，Cat实现了Animal接口
        Cat cat = new Cat();
        // 代理类CatProxy，也实现了Animal接口
        CatProxy catProxy = new CatProxy(cat);
        // 代理类来调用方法，实际上调用的是Cat的action(),breath()方法
        catProxy.action();
        System.out.println("==============================================");
        System.out.println("===============这是一条华丽的分割线===============");
        System.out.println("==============================================");
        catProxy.breath();
    }
}
